const { push, pop, shift, unshift, slice } = Array.prototype
export function WaitQueue(opt) {
  this.opt = Object.assign({}, opt)
  this.queue = []
}
WaitQueue.prototype = {
  constructor: WaitQueue,
  add() {},
  remove() {},
  save() {
    GM_setValue(this.opt.name + 'WaitQueue')
  }
}
export function RunQueue(opt) {
  this.opt = Object.assign({}, opt)
  this.queue = []
}
RunQueue.prototype = {
  constructor: RunQueue
}
export function ErrorQueue(opt) {
  this.opt = Object.assign({}, opt)
  this.queue = []
}
ErrorQueue.prototype = {
  constructor: ErrorQueue
}
export function SuccessQueue(opt) {
  this.opt = Object.assign({}, opt)
  this.queue = []
}
SuccessQueue.prototype = {
  constructor: SuccessQueue
}
